<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>API overview - Zend Framework Manual</title>

    <link href="../css/shCore.css" rel="stylesheet" type="text/css" />
    <link href="../css/shThemeDefault.css" rel="stylesheet" type="text/css" />
    <link href="../css/styles.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Zend Framework</h1>
<h2>Programmer's Reference Guide</h2>
<ul>
    <li><a href="../en/zend.ldap.api.html">Inglês (English)</a></li>
    <li><a href="../pt-br/zend.ldap.api.html">Português Brasileiro (Brazilian Portuguese)</a></li>
</ul>
<table width="100%">
    <tr valign="top">
        <td width="85%">
            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.ldap.introduction.html">Introduction</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.ldap.html">Zend_Ldap</a></span><br />
                        <span class="home"><a href="manual.html">Programmer's Reference Guide</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.ldap.usage.html">Usage Scenarios</a></div>
                    </td>
                </tr>
            </table>
<hr />
<div id="zend.ldap.api" class="section"><div class="info"><h1 class="title">API overview</h1></div>
    

    <div class="section" id="zend.ldap.api.configuration"><div class="info"><h1 class="title">Configuration / options</h1></div>
        

        <p class="para">
            The <span class="classname">Zend_Ldap</span> component accepts an array of options either
            supplied to the constructor or through the  <span class="methodname">setOptions()</span>
            method. The permitted options are as follows:
        </p>

        <table id="zend.ldap.api.configuration.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap Options</b></caption></div>
            

            
                <thead valign="middle">
                    <tr valign="middle">
                        <th>Name</th>
                        <th>Description</th>
                    </tr>

                </thead>


                <tbody valign="middle" class="tbody">
                    <tr valign="middle">
                        <td align="left"><span class="property">host</span></td>

                        <td align="left">
                            The default hostname of <acronym class="acronym">LDAP</acronym> server if not
                            supplied to  <span class="methodname">connect()</span> (also may be used
                            when trying to canonicalize usernames in
                             <span class="methodname">bind()</span>).
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">port</span></td>

                        <td align="left">
                            Default port of <acronym class="acronym">LDAP</acronym> server if not supplied to
                             <span class="methodname">connect()</span>.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">useStartTls</span></td>

                        <td align="left">
                            Whether or not the <acronym class="acronym">LDAP</acronym> client should use
                            <acronym class="acronym">TLS</acronym> (aka <acronym class="acronym">SSLv2</acronym>) encrypted
                            transport. A value of <b><tt>TRUE</tt></b> is strongly favored
                            in production environments to prevent passwords from be transmitted in
                            clear text. The default value is <b><tt>FALSE</tt></b>, as servers
                            frequently require that a certificate be installed separately after
                            installation. The <em class="emphasis">useSsl</em> and
                            <em class="emphasis">useStartTls</em> options are mutually exclusive.
                            The <em class="emphasis">useStartTls</em> option should be favored
                            over <em class="emphasis">useSsl</em> but not all servers support
                            this newer mechanism.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">useSsl</span></td>

                        <td align="left">
                            Whether or not the <acronym class="acronym">LDAP</acronym> client should use
                            <acronym class="acronym">SSL</acronym> encrypted transport. The
                            <em class="emphasis">useSsl</em> and <em class="emphasis">useStartTls</em>
                            options are mutually exclusive.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">username</span></td>

                        <td align="left">
                            The default credentials username. Some servers require that this
                            be in DN form. This must be given in DN form if the
                            <acronym class="acronym">LDAP</acronym> server requires a DN to bind and binding
                            should be possible with simple usernames.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">password</span></td>

                        <td align="left">
                            The default credentials password (used only with username
                            above).
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">bindRequiresDn</span></td>

                        <td align="left">
                            If <b><tt>TRUE</tt></b>, this instructs
                            <span class="classname">Zend_Ldap</span> to retrieve the DN for the
                            account used to bind if the username is not
                            already in DN form. The default value is <b><tt>FALSE</tt></b>.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">baseDn</span></td>

                        <td align="left">
                            The default base DN used for searching (e.g., for accounts).
                            This option is required for most account related operations and should
                            indicate the DN under which accounts are located.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">accountCanonicalForm</span></td>

                        <td align="left">
                            A small integer indicating the form to which account names
                            should be canonicalized. See the <a href="zend.ldap.introduction.html#zend.ldap.introduction.theory-of-operations.account-name-canonicalization" class="link"><em class="emphasis">Account
                                Name Canonicalization</em></a>
                            section below.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">accountDomainName</span></td>

                        <td align="left">
                            The <acronym class="acronym">FQDN</acronym> domain for which the target
                            <acronym class="acronym">LDAP</acronym> server is an authority (e.g., example.com).
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">accountDomainNameShort</span></td>

                        <td align="left">
                            The &#039;short&#039; domain for which the target <acronym class="acronym">LDAP</acronym> server
                            is an authority. This is usually used to specify the NetBIOS
                            domain name for Windows networks but may also be used by non-AD servers.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">accountFilterFormat</span></td>

                        <td align="left">
                            The <acronym class="acronym">LDAP</acronym> search filter used to search for accounts.
                            This string is a <a href="http://php.net/sprintf" class="link external">&raquo;  <span class="methodname">sprintf()</span></a>
                            style expression that must contain one &#039;<em class="emphasis">%s</em>&#039; to
                            accommodate the username. The default value is
                            &#039;<em class="emphasis">(&amp;(objectClass=user)(sAMAccountName=%s))</em>&#039;
                            unless <em class="emphasis">bindRequiresDn</em> is set to
                            <b><tt>TRUE</tt></b>, in which case the default is
                            &#039;<em class="emphasis">(&amp;(objectClass=posixAccount)(uid=%s))</em>&#039;.
                            Users of custom schemas may need to change this option.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">allowEmptyPassword</span></td>

                        <td align="left">
                            Some <acronym class="acronym">LDAP</acronym> servers can be configured to accept an
                            empty string password as an anonymous bind. This behavior is almost
                            always undesirable. For this reason, empty passwords are explicitly
                            disallowed. Set this value to <b><tt>TRUE</tt></b> to allow an
                            empty string password to be submitted during the bind.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">optReferrals</span></td>

                        <td align="left">
                            If set to <b><tt>TRUE</tt></b>, this option indicates to the
                            <acronym class="acronym">LDAP</acronym> client that referrals should be followed.
                            The default value is <b><tt>FALSE</tt></b>.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><span class="property">tryUsernameSplit</span></td>

                        <td align="left">
                            If set to <b><tt>FALSE</tt></b>, this option indicates that the
                            given username should not be split at the first <em class="emphasis">@</em>
                            or <em class="emphasis">\</em> character to separate the username from
                            the domain during the binding-procedure. This allows the user to
                            use usernames that contain an <em class="emphasis">@</em> or
                            <em class="emphasis">\</em> character that do not
                            inherit some domain-information, e.g. using email-addresses for
                            binding. The default value is <b><tt>TRUE</tt></b>.
                        </td>
                    </tr>

                </tbody>
            
        </table>

    </div>

    <div class="section" id="zend.ldap.api.reference"><div class="info"><h1 class="title">API Reference</h1></div>
        

        <blockquote class="note"><p><b class="note">Note</b>: 
            <p class="para">Method names in <em class="emphasis">italics</em> are static methods.</p>
        </p></blockquote>

        <div class="section" id="zend.ldap.api.reference.zend-ldap"><div class="info"><h1 class="title">Zend_Ldap</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Ldap</span> is the base interface into a <acronym class="acronym">LDAP</acronym>
        server. It provides connection and binding methods as well as methods to operate on the
        <acronym class="acronym">LDAP</acronym> tree.
    </p>

    <table id="zend.ldap.api.reference.zend-ldap.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left"><code class="code">string filterEscape(string $str)</code></td>

                    <td align="left">
                        Escapes a value to be used in a <acronym class="acronym">LDAP</acronym> filter according to
                        <acronym class="acronym">RFC</acronym> 2254. This method is <em class="emphasis">deprecated</em>,
                        please use  <span class="methodname">Zend_Ldap_Filter_Abstract::escapeValue()</span>
                        instead.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">boolean explodeDn($dn, array &amp;$keys = null, array &amp;$vals =
                            null)</code>
                    </td>

                    <td align="left">
                        Checks if a given DN <var class="varname">$dn</var> is malformed. If
                        <var class="varname">$keys</var> or <var class="varname">$keys</var> and
                        <var class="varname">$vals</var> are given, these arrays will be filled with the
                        appropriate DN keys and values. This method is
                        <em class="emphasis">deprecated</em>, please use
                         <span class="methodname">Zend_Ldap_Dn::checkDn()</span> instead.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"> <span class="methodname">__construct($options)</span></td>

                    <td align="left">
                        Constructor. The <var class="varname">$options</var> parameter is optional
                        and can be set to an array or a <span class="classname">Zend_Config</span> instance.
                        If no options are provided at instantiation, the connection
                        parameters must be passed to the instance using
                         <span class="methodname">Zend_Ldap::setOptions()</span>. The allowed options are
                        specified in <a href="zend.ldap.api.html#zend.ldap.api.configuration.table" class="link">Zend_Ldap
                            Options</a>
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">resource getResource()</code></td>

                    <td align="left">
                        Returns the raw <acronym class="acronym">LDAP</acronym> extension (ext/ldap) resource.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">integer getLastErrorCode()</code></td>

                    <td align="left">
                        Returns the <acronym class="acronym">LDAP</acronym> error number of the last
                        <acronym class="acronym">LDAP</acronym> command.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">string getLastError(integer &amp;$errorCode, array
                            &amp;$errorMessages)</code>
                    </td>

                    <td align="left">
                        Returns the <acronym class="acronym">LDAP</acronym> error message of the last
                        <acronym class="acronym">LDAP</acronym> command. The optional <var class="varname">$errorCode</var>
                        parameter is set to the <acronym class="acronym">LDAP</acronym> error number when given. The
                        optional <var class="varname">$errorMessages</var> array will be filled with the raw
                        error messages when given. The various <acronym class="acronym">LDAP</acronym> error
                        retrieval functions can return different things, so they are all collected
                        if <var class="varname">$errorMessages</var> is given.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap setOptions($options)</code></td>

                    <td align="left">
                        Sets the <acronym class="acronym">LDAP</acronym> connection and binding parameters.
                        <var class="varname">$options</var> can be an array or an instance of
                        <span class="classname">Zend_Config</span>. The allowed options are specified in
                        <a href="zend.ldap.api.html#zend.ldap.api.configuration.table" class="link">Zend_Ldap Options</a>
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getOptions()</code></td>
                    <td align="left">Returns the current connection and binding parameters.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getBaseDn()</code></td>

                    <td align="left">
                        Returns the base DN this <acronym class="acronym">LDAP</acronym> connection is bound
                        to.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">string getCanonicalAccountName(string $acctname, integer $form)</code>
                    </td>

                    <td align="left">
                        Returns the canonical account name of the given account name
                        <var class="varname">$acctname</var>. <var class="varname">$form</var> specifies the <a href="zend.ldap.introduction.html#zend.ldap.using.theory-of-operation.account-name-canonicalization.table" class="link">format</a>
                        into which the account name is canonicalized. See <a href="zend.ldap.introduction.html#zend.ldap.introduction.theory-of-operations.account-name-canonicalization" class="link">Account
                            Name Canonicalization</a> for more details.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap disconnect()</code></td>

                    <td align="left">
                        Disconnects the <span class="classname">Zend_Ldap</span> instance from the
                        <acronym class="acronym">LDAP</acronym> server.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap connect(string $host, integer $port, boolean $useSsl,
                            boolean $useStartTls)</code>
                    </td>

                    <td align="left">
                        Connects the <span class="classname">Zend_Ldap</span> instance to the given
                        <acronym class="acronym">LDAP</acronym> server. All parameters are optional and will be
                        taken from the <acronym class="acronym">LDAP</acronym> connection and binding parameters
                        passed to the instance via the constructor or via
                         <span class="methodname">Zend_Ldap::setOptions()</span> when set to
                        <b><tt>NULL</tt></b>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap bind(string $username, string $password)</code>
                    </td>

                    <td align="left">
                        Authenticates <var class="varname">$username</var> with
                        <var class="varname">$password</var> at the <acronym class="acronym">LDAP</acronym> server. If both
                        parameters are omitted the binding will be carried out with the credentials
                        given in the connection and binding parameters. If no credentials are
                        given in the connection and binding parameters an anonymous bind
                        will be performed. Note that this requires anonymous binds to be allowed
                        on the <acronym class="acronym">LDAP</acronym> server. An empty string <code class="code">&#039;&#039;</code> can
                        be passed as <var class="varname">$password</var> together with a username if, and
                        only if, <code class="code">allowEmptyPassword</code> is set to
                        <b><tt>TRUE</tt></b> in the connection and binding parameters.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Collection search(string|Zend_Ldap_Filter_Abstract $filter,
                            string|Zend_Ldap_Dn $basedn, integer $scope, array $attributes, string
                            $sort, string $collectionClass)</code>
                    </td>

                    <td align="left">
                        Searches the <acronym class="acronym">LDAP</acronym> tree with the given
                        <var class="varname">$filter</var> and the given search parameters.

                        <dl>

                            <dt>

                                <dt class="term"><code class="code">string|Zend_Ldap_Filter_Abstract $filter</code></dt>

                                <dd>

                                    <p class="para">
                                        The filter string to be used in the search, e.g.
                                        <code class="code">(objectClass=posixAccount)</code>.
                                    </p>
                                </dd>

                            </dt>


                            <dt>

                                <dt class="term"><code class="code">string|Zend_Ldap_Dn $basedn</code></dt>

                                <dd>

                                    <p class="para">
                                        The search base for the search. If omitted or
                                        <b><tt>NULL</tt></b>, the <code class="code">baseDn</code> from the
                                        connection and binding parameters is used.
                                    </p>
                                </dd>

                            </dt>


                            <dt>

                                <dt class="term"><code class="code">integer $scope</code></dt>

                                <dd>

                                    <p class="para">
                                        The search scope.
                                        <b><tt>Zend_Ldap::SEARCH_SCOPE_SUB</tt></b> searches
                                        the complete subtree including the
                                        <var class="varname">$baseDn</var> node.
                                        <b><tt>Zend_Ldap::SEARCH_SCOPE_ONE</tt></b> restricts
                                        search to one level below <var class="varname">$baseDn</var>.
                                        <b><tt>Zend_Ldap::SEARCH_SCOPE_BASE</tt></b> restricts
                                        search to the <var class="varname">$baseDn</var> itself; this can be
                                        used to efficiently retrieve a single entry by its DN. The
                                        default value is
                                        <b><tt>Zend_Ldap::SEARCH_SCOPE_SUB</tt></b>.
                                    </p>
                                </dd>

                            </dt>


                            <dt>

                                <dt class="term"><code class="code">array $attributes</code></dt>

                                <dd>

                                    <p class="para">
                                        Specifies the attributes contained in the
                                        returned entries. To include all possible attributes (ACL
                                        restrictions can disallow certain attribute to be retrieved
                                        by a given user) pass either an empty array
                                         <span class="methodname">array()</span> or
                                         <span class="methodname">array(&#039;*&#039;)</span> to the method. On some
                                        <acronym class="acronym">LDAP</acronym> servers you can retrieve special
                                        internal attributes by passing
                                         <span class="methodname">array(&#039;*&#039;, &#039;+&#039;)</span> to the method.
                                    </p>
                                </dd>

                            </dt>


                            <dt>

                                <dt class="term"><code class="code">string $sort</code></dt>

                                <dd>

                                    <p class="para">
                                        If given the result collection will be sorted after the
                                        attribute <var class="varname">$sort</var>. Results can only be
                                        sorted after one single attribute as this parameter uses
                                        the ext/ldap function  <span class="methodname">ldap_sort()</span>.
                                    </p>
                                </dd>

                            </dt>


                            <dt>

                                <dt class="term"><code class="code">string $collectionClass</code></dt>

                                <dd>

                                    <p class="para">
                                        If given the result will be wrapped in an object of type
                                        <var class="varname">$collectionClass</var>. By default an object
                                        of type <span class="classname">Zend_Ldap_Collection</span> will be
                                        returned. The custom class must extend
                                        <span class="classname">Zend_Ldap_Collection</span> and will be
                                        passed a
                                        <span class="classname">Zend_Ldap_Collection_Iterator_Default</span>
                                        on instantiation.
                                    </p>
                                </dd>

                            </dt>

                        </dl>

                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">integer count(string|Zend_Ldap_Filter_Abstract
                        $filter, string|Zend_Ldap_Dn $basedn, integer
                        $scope)</code>
                    </td>

                    <td align="left">
                        Counts the elements returned by the given search parameters.
                        See  <span class="methodname">Zend_Ldap::search()</span> for a detailed description
                        of the method parameters.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">integer countChildren(string|Zend_Ldap_Dn $dn)</code></td>

                    <td align="left">
                        Counts the direct descendants (children) of the entry
                        identified by the given <var class="varname">$dn</var>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">boolean exists(string|Zend_Ldap_Dn $dn)</code></td>

                    <td align="left">
                        Checks whether the entry identified by the given
                        <var class="varname">$dn</var> exists.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">array searchEntries(string|Zend_Ldap_Filter_Abstract
                        $filter, string|Zend_Ldap_Dn $basedn, integer $scope, array
                        $attributes, string $sort)</code>
                    </td>

                    <td align="left">
                        Performs a search operation and returns the result as an
                        <acronym class="acronym">PHP</acronym> array. This is essentially the same method as
                         <span class="methodname">Zend_Ldap::search()</span> except for the return type. See
                         <span class="methodname">Zend_Ldap::search()</span> for a detailed description of
                        the method parameters.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">array getEntry(string|Zend_Ldap_Dn $dn, array
                        $attributes, boolean $throwOnNotFound)</code>
                    </td>

                    <td align="left">
                        Retrieves the <acronym class="acronym">LDAP</acronym> entry identified by
                        <var class="varname">$dn</var> with the attributes specified in
                        <var class="varname">$attributes</var>. if <var class="varname">$attributes</var> is
                        ommitted, all attributes ( <span class="methodname">array()</span>) are included in
                        the result. <var class="varname">$throwOnNotFound</var> is
                        <b><tt>FALSE</tt></b> by default, so the method will return
                        <b><tt>NULL</tt></b> if the specified entry cannot be found. If set to
                        <b><tt>TRUE</tt></b>, a <span class="classname">Zend_Ldap_Exception</span> will
                        be thrown instead.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">void prepareLdapEntryArray(array
                            &amp;$entry)</code></em>
                    </td>

                    <td align="left">
                        Prepare an array for the use in <acronym class="acronym">LDAP</acronym> modification
                        operations. This method does not need to be called by the end-user
                        as it&#039;s implicitly called on every data modification
                        method.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap add(string|Zend_Ldap_Dn $dn, array
                        $entry)</code>
                    </td>

                    <td align="left">
                        Adds the entry identified by <var class="varname">$dn</var> with its attributes
                        <var class="varname">$entry</var> to the <acronym class="acronym">LDAP</acronym> tree. Throws a
                        <span class="classname">Zend_Ldap_Exception</span> if the entry could not be
                        added.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap update(string|Zend_Ldap_Dn $dn, array $entry)</code>
                    </td>

                    <td align="left">
                        Updates the entry identified by <var class="varname">$dn</var> with its attributes
                        <var class="varname">$entry</var> to the <acronym class="acronym">LDAP</acronym> tree. Throws a
                        <span class="classname">Zend_Ldap_Exception</span> if the entry could not be
                        modified.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap save(string|Zend_Ldap_Dn $dn, array $entry)</code>
                    </td>

                    <td align="left">
                        Saves the entry identified by <var class="varname">$dn</var> with its attributes
                        <var class="varname">$entry</var> to the <acronym class="acronym">LDAP</acronym> tree. Throws a
                        <span class="classname">Zend_Ldap_Exception</span> if the entry could not be saved.
                        This method decides by querying the <acronym class="acronym">LDAP</acronym> tree if the
                        entry will be added or updated.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap delete(string|Zend_Ldap_Dn $dn, boolean $recursively)</code>
                    </td>

                    <td align="left">
                        Deletes the entry identified by <var class="varname">$dn</var> from the
                        <acronym class="acronym">LDAP</acronym> tree. Throws a
                        <span class="classname">Zend_Ldap_Exception</span> if the entry could not be
                        deleted. <var class="varname">$recursively</var> is <b><tt>FALSE</tt></b> by
                        default. If set to <b><tt>TRUE</tt></b> the deletion will be carried
                        out recursively and will effectively delete a complete subtree. Deletion
                        will fail if <var class="varname">$recursively</var> is <b><tt>FALSE</tt></b>
                        and the entry <var class="varname">$dn</var> is not a leaf entry.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap moveToSubtree(string|Zend_Ldap_Dn $from,
                        string|Zend_Ldap_Dn $to, boolean $recursively, boolean
                        $alwaysEmulate)</code>
                    </td>

                    <td align="left">
                        Moves the entry identified by <var class="varname">$from</var> to a location below
                        <var class="varname">$to</var> keeping its <acronym class="acronym">RDN</acronym> unchanged.
                        <var class="varname">$recursively</var> specifies if the operation will be
                        carried out recursively (<b><tt>FALSE</tt></b> by default) so that the
                        entry <var class="varname">$from</var> and all its descendants will be moved.
                        Moving will fail if <var class="varname">$recursively</var> is
                        <b><tt>FALSE</tt></b> and the entry <var class="varname">$from</var> is not a
                        leaf entry. <var class="varname">$alwaysEmulate</var> controls whether the ext/ldap
                        function  <span class="methodname">ldap_rename()</span> should be used if available.
                        This can only work for leaf entries and for servers and for ext/ldap
                        supporting this function. Set to <b><tt>TRUE</tt></b> to always use an
                        emulated rename operation.

                        <blockquote class="note"><p><b class="note">Note</b>: 
                            <p class="para">
                                All move-operations are carried out by copying and then deleting the
                                corresponding entries in the <acronym class="acronym">LDAP</acronym> tree. These
                                operations are not <em class="emphasis">atomic</em> so that failures
                                during the operation will result in an
                                <em class="emphasis">inconsistent</em> state on the
                                <acronym class="acronym">LDAP</acronym> server. The same is true for all recursive
                                operations. They also are by no means atomic. Please keep this in
                                mind.
                            </p>
                        </p></blockquote>
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap move(string|Zend_Ldap_Dn $from,
                        string|Zend_Ldap_Dn $to, boolean $recursively, boolean
                        $alwaysEmulate)</code>
                    </td>

                    <td align="left">
                        This is an alias for  <span class="methodname">Zend_Ldap::rename()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap rename(string|Zend_Ldap_Dn $from,
                        string|Zend_Ldap_Dn $to, boolean $recursively, boolean
                        $alwaysEmulate)</code>
                    </td>

                    <td align="left">
                        Renames the entry identified by <var class="varname">$from</var> to
                        <var class="varname">$to</var>. <var class="varname">$recursively</var> specifies if the
                        operation will be carried out recursively (<b><tt>FALSE</tt></b> by
                        default) so that the entry <var class="varname">$from</var> and all its
                        descendants will be moved. Moving will fail if
                        <var class="varname">$recursively</var> is <b><tt>FALSE</tt></b> and the entry
                        <var class="varname">$from</var> is not a leaf entry.
                        <var class="varname">$alwaysEmulate</var> controls whether the ext/ldap function
                         <span class="methodname">ldap_rename()</span> should be used if available. This can
                        only work for leaf entries and for servers and for ext/ldap supporting this
                        function. Set to <b><tt>TRUE</tt></b> to always use an emulated rename
                        operation.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap copyToSubtree(string|Zend_Ldap_Dn $from,
                        string|Zend_Ldap_Dn $to, boolean $recursively)</code>
                    </td>

                    <td align="left">
                        Copies the entry identified by <var class="varname">$from</var> to a location below
                        <var class="varname">$to</var> keeping its <acronym class="acronym">RDN</acronym> unchanged.
                        <var class="varname">$recursively</var> specifies if the operation will be
                        carried out recursively (<b><tt>FALSE</tt></b> by default) so that the
                        entry <var class="varname">$from</var> and all its descendants will be copied.
                        Copying will fail if <var class="varname">$recursively</var> is
                        <b><tt>FALSE</tt></b> and the entry <var class="varname">$from</var> is not a
                        leaf entry.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap copy(string|Zend_Ldap_Dn $from,
                        string|Zend_Ldap_Dn $to, boolean $recursively)</code>
                    </td>

                    <td align="left">
                        Copies the entry identified by <var class="varname">$from</var> to
                        <var class="varname">$to</var>. <var class="varname">$recursively</var> specifies if the
                        operation will be carried out recursively (<b><tt>FALSE</tt></b> by
                        default) so that the entry <var class="varname">$from</var> and all its
                        descendants will be copied. Copying will fail if
                        <var class="varname">$recursively</var> is <b><tt>FALSE</tt></b> and the entry
                        <var class="varname">$from</var> is not a leaf entry.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node getNode(string|Zend_Ldap_Dn $dn)</code></td>

                    <td align="left">
                        Returns the entry <var class="varname">$dn</var> wrapped in a
                        <span class="classname">Zend_Ldap_Node</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node getBaseNode()</code></td>

                    <td align="left">
                        Returns the entry for the base DN <var class="varname">$baseDn</var>
                        wrapped in a <span class="classname">Zend_Ldap_Node</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node_RootDse getRootDse()</code></td>
                    <td align="left">Returns the RootDSE for the current server.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node_Schema getSchema()</code></td>
                    <td align="left">
                        Returns the <acronym class="acronym">LDAP</acronym> schema for the current server.
                    </td>
                </tr>

            </tbody>
        
    </table>


    <div class="section" id="zend.ldap.api.reference.zend-ldap.zend-ldap-collection"><div class="info"><h1 class="title">Zend_Ldap_Collection</h1></div>
        

        <p class="para">
            <span class="classname">Zend_Ldap_Collection</span> implements <code class="code">Iterator</code> to
            allow for item traversal using  <span class="methodname">foreach()</span> and
            <code class="code">Countable</code> to be able to respond to  <span class="methodname">count()</span>. With
            its protected  <span class="methodname">_createEntry()</span> method it provides a simple
            extension point for developers needing custom result objects.
        </p>

        <table id="zend.ldap.api.reference.zend-ldap.zend-ldap-collection.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Collection API</b></caption></div>
            

            
                <thead valign="middle">
                    <tr valign="middle">
                        <th>Method</th>
                        <th>Description</th>
                    </tr>

                </thead>


                <tbody valign="middle" class="tbody">
                    <tr valign="middle">
                        <td align="left">
                            <code class="code">__construct(Zend_Ldap_Collection_Iterator_Interface
                            $iterator)</code>
                        </td>

                        <td align="left">
                            Constructor. The constrcutor must be provided by a
                            <span class="classname">Zend_Ldap_Collection_Iterator_Interface</span> which
                            does the real result iteration.
                            <span class="classname">Zend_Ldap_Collection_Iterator_Default</span> is the
                            default implementation for iterating ext/ldap results.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">boolean close()</code></td>

                        <td align="left">
                            Closes the internal iterator. This is also called in the destructor.
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">array toArray()</code></td>
                        <td align="left">Returns all entries as an array.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">array getFirst()</code></td>

                        <td align="left">
                            Returns the first entry in the collection or
                            <b><tt>NULL</tt></b> if the collection is empty.
                        </td>
                    </tr>

                </tbody>
            
        </table>

    </div>
</div>
        <div class="section" id="zend.ldap.api.reference.zend-ldap-attribute"><div class="info"><h1 class="title">Zend_Ldap_Attribute</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Ldap_Attribute</span> is a helper class providing only static
        methods to manipulate arrays suitable to the structure used in
        <span class="classname">Zend_Ldap</span> data modification methods and to the data format required
        by the <acronym class="acronym">LDAP</acronym> server. <acronym class="acronym">PHP</acronym> data types are converted the
        following way:
    </p>

    <dl>

        <dt>

            <dt class="term"><code class="code">string</code></dt>
            <dd>
<p class="para">No conversion will be done.</p></dd>

        </dt>


        <dt>

            <dt class="term"><code class="code">integer</code> and <code class="code">float</code></dt>
            <dd>
<p class="para">The value will be converted to a string.</p></dd>

        </dt>


        <dt>

            <dt class="term"><code class="code">boolean</code></dt>
            <dd>
<p class="para"><b><tt>TRUE</tt></b> will be converted to
            <em class="emphasis">&#039;<b><tt>TRUE</tt></b>&#039;</em> and <b><tt>FALSE</tt></b> to
            <em class="emphasis">&#039;<b><tt>FALSE</tt></b>&#039;</em></p></dd>

        </dt>


        <dt>

            <dt class="term"><code class="code">object</code> and <code class="code">array</code></dt>
            <dd>
<p class="para">The value will be converted to a string by using
             <span class="methodname">serialize()</span>.</p></dd>

        </dt>


        <dt>

            <dt class="term"><code class="code">resource</code></dt>
            <dd>
<p class="para">If a <code class="code">stream</code> resource is given, the data will be
            fetched by calling  <span class="methodname">stream_get_contents()</span>.</p></dd>

        </dt>


        <dt>

            <dt class="term">others</dt>
            <dd>
<p class="para">All other data types (namely non-stream resources) will be
            ommitted.</p></dd>

        </dt>

    </dl>


    <p class="para">On reading attribute values the following conversion will take place:</p>

    <dl>

        <dt>

            <dt class="term"><em class="emphasis">&#039;<b><tt>TRUE</tt></b>&#039;</em></dt>
            <dd>
<p class="para">Converted to <b><tt>TRUE</tt></b>.</p></dd>

        </dt>


        <dt>

            <dt class="term"><em class="emphasis">&#039;<b><tt>FALSE</tt></b>&#039;</em></dt>
            <dd>
<p class="para">Converted to <b><tt>FALSE</tt></b>.</p></dd>

        </dt>


        <dt>

            <dt class="term">others</dt>
            <dd>
<p class="para">All other strings won&#039;t be automatically converted and are passed
            as they are.</p></dd>

        </dt>

    </dl>


    <table id="zend.ldap.api.reference.zend-ldap-attribute.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Attribute API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">void setAttribute(array &amp;$data, string
                        $attribName, mixed $value, boolean $append)</code>
                        </em>
                    </td>

                    <td align="left">
                        Sets the attribute <var class="varname">$attribName</var> in
                        <var class="varname">$data</var> to the value <var class="varname">$value</var>. If
                        <var class="varname">$append</var> is <b><tt>TRUE</tt></b>
                        (<b><tt>FALSE</tt></b> by default) <var class="varname">$value</var> will be
                        appended to the attribute. <var class="varname">$value</var> can be a scalar value
                        or an array of scalar values. Conversion will take place.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">array|mixed getAttribute(array $data,
                        string $attribName, integer|null $index)</code> </em>
                    </td>

                    <td align="left">
                        Returns the attribute <var class="varname">$attribName</var> from
                        <var class="varname">$data</var>. If <var class="varname">$index</var> is
                        <b><tt>NULL</tt></b> (default) an array will be returned containing all
                        the values for the given attribute. An empty array will be returned if the
                        attribute does not exist in the given array. If an integer index is
                        specified the corresponding value at the given index will be
                        returned. If the index is out of bounds, <b><tt>NULL</tt></b> will be
                        returned. Conversion will take place.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">boolean attributeHasValue(array &amp;$data,
                        string $attribName, mixed|array $value)</code> </em>
                    </td>

                    <td align="left">
                        Checks if the attribute <var class="varname">$attribName</var> in
                        <var class="varname">$data</var> has the value(s) given in
                        <var class="varname">$value</var>. The method returns <b><tt>TRUE</tt></b> only
                        if all values in <var class="varname">$value</var> are present in the attribute.
                        Comparison is done strictly (respecting the data type).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">void removeDuplicatesFromAttribute(array
                        &amp;$data, string $attribName)</code> </em>
                    </td>

                    <td align="left">
                        Removes all duplicates from the attribute
                        <var class="varname">$attribName</var> in <var class="varname">$data</var>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">void removeFromAttribute(array &amp;$data,
                        string $attribName, mixed|array $value)</code> </em>
                    </td>

                    <td align="left">
                        Removes the value(s) given in <var class="varname">$value</var> from
                        the attribute <var class="varname">$attribName</var> in
                        <var class="varname">$data</var>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">string|null convertToLdapValue(mixed
                        $value)</code> </em>
                    </td>

                    <td align="left">
                        Converts a <acronym class="acronym">PHP</acronym> data type into its <acronym class="acronym">LDAP</acronym>
                        representation. See introduction for details.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">mixed convertFromLdapValue(string
                        $value)</code> </em>
                    </td>

                    <td align="left">
                        Converts an <acronym class="acronym">LDAP</acronym> value into its <acronym class="acronym">PHP</acronym>
                        data type. See introduction for details.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">string|null
                        convertToLdapDateTimeValue(integer $value, boolean $utc)</code>
                        </em>
                    </td>

                    <td align="left">
                        Converts a timestamp into its <acronym class="acronym">LDAP</acronym> date/time
                        representation. If <var class="varname">$utc</var> is <b><tt>TRUE</tt></b>
                        (<b><tt>FALSE</tt></b> by default) the resulting
                        <acronym class="acronym">LDAP</acronym> date/time string will be in <acronym class="acronym">UTC</acronym>,
                        otherwise a local date/time string will be returned.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">integer|null
                        convertFromLdapDateTimeValue(string $value)</code>
                        </em>
                    </td>

                    <td align="left">
                        Converts <acronym class="acronym">LDAP</acronym> date/time representation into a timestamp.
                        The method returns <b><tt>NULL</tt></b> if <var class="varname">$value</var>
                        can not be converted back into a <acronym class="acronym">PHP</acronym> timestamp.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">void setPassword(array &amp;$data, string
                        $password, string $hashType, string $attribName)</code>
                        </em>
                    </td>

                    <td align="left">
                        Sets a <acronym class="acronym">LDAP</acronym> password for the attribute
                        <var class="varname">$attribName</var> in <var class="varname">$data</var>.
                        <var class="varname">$attribName</var> defaults to <code class="code">&#039;userPassword&#039;</code>
                        which is the standard password attribute. The password hash can be
                        specified with <var class="varname">$hashType</var>. The default value here is
                        <b><tt>Zend_Ldap_Attribute::PASSWORD_HASH_MD5</tt></b> with
                        <b><tt>Zend_Ldap_Attribute::PASSWORD_HASH_SHA</tt></b> as the other
                        possibilty.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">string createPassword(string $password,
                        string $hashType)</code> </em>
                    </td>

                    <td align="left">
                        Creates a <acronym class="acronym">LDAP</acronym> password. The password hash can be
                        specified with <var class="varname">$hashType</var>. The default value here is
                        <b><tt>Zend_Ldap_Attribute::PASSWORD_HASH_MD5</tt></b> with
                        <b><tt>Zend_Ldap_Attribute::PASSWORD_HASH_SHA</tt></b> as the other
                        possibilty.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">void setDateTimeAttribute(array &amp;$data,
                        string $attribName, integer|array $value, boolean $utc, boolean
                        $append)</code> </em>
                    </td>

                    <td align="left">
                        Sets the attribute <var class="varname">$attribName</var> in
                        <var class="varname">$data</var> to the date/time value <var class="varname">$value</var>.
                        if <var class="varname">$append</var> is <b><tt>TRUE</tt></b>
                        (<b><tt>FALSE</tt></b> by default) <var class="varname">$value</var> will be
                        appended to the attribute. <var class="varname">$value</var> can be an integer value
                        or an array of integers. Date-time-conversion according to
                         <span class="methodname">Zend_Ldap_Attribute::convertToLdapDateTimeValue()</span>
                        will take place.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">array|integer getDateTimeAttribute(array
                        $data, string $attribName, integer|null $index)</code>
                        </em>
                    </td>

                    <td align="left">
                        Returns the date/time attribute <var class="varname">$attribName</var>
                        from <var class="varname">$data</var>. If <var class="varname">$index</var> is
                        <b><tt>NULL</tt></b> (default) an array will be returned containing
                        all the date/time values for the given attribute. An empty array
                        will be returned if the attribute does not exist in the given
                        array. If an integer index is specified the corresponding date/time
                        value at the given index will be returned. If the index is out of
                        bounds, <b><tt>NULL</tt></b> will be returned. Date-time-conversion
                        according to
                         <span class="methodname">Zend_Ldap_Attribute::convertFromLdapDateTimeValue()</span>
                        will take place.
                    </td>
                </tr>

            </tbody>
        
    </table>

</div>
        <div class="section" id="zend.ldap.api.reference.zend-ldap-dn"><div class="info"><h1 class="title">Zend_Ldap_Dn</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Ldap_Dn</span> provides an object-oriented interface to
        manipulating <acronym class="acronym">LDAP</acronym> distinguished names (DN). The parameter
        <var class="varname">$caseFold</var> that is used in several methods determines the way DN
        attributes are handled regarding their case. Allowed values for this paraneter are:
    </p>

    <dl>

        <dt>

            <dt class="term"><b><tt>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</tt></b></dt>
            <dd>
<p class="para">No case-folding will be done.</p></dd>

        </dt>


        <dt>

            <dt class="term"><b><tt>Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER</tt></b></dt>
            <dd>
<p class="para">All attributes will be converted to upper-case.</p></dd>

        </dt>


        <dt>

            <dt class="term"><b><tt>Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER</tt></b></dt>
            <dd>
<p class="para">All attributes will be converted to lower-case.</p></dd>

        </dt>

    </dl>


    <p class="para">
        The default case-folding is <b><tt>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</tt></b> and
        can be set with  <span class="methodname">Zend_Ldap_Dn::setDefaultCaseFold()</span>. Each instance
        of <span class="classname">Zend_Ldap_Dn</span> can have its own case-folding-setting. If the
        <var class="varname">$caseFold</var> parameter is ommitted in method-calls it defaults to the
        instance&#039;s case-folding setting.
    </p>

    <p class="para">
        The class implements <code class="code">ArrayAccess</code> to allow indexer-access to the
        different parts of the DN. The <code class="code">ArrayAccess</code>-methods proxy to
         <span class="methodname">Zend_Ldap_Dn::get($offset, 1, null)</span> for <code class="code">offsetGet(integer
        $offset)</code>, to  <span class="methodname">Zend_Ldap_Dn::set($offset, $value)</span> for
         <span class="methodname">offsetSet()</span> and to
         <span class="methodname">Zend_Ldap_Dn::remove($offset, 1)</span> for
         <span class="methodname">offsetUnset()</span>.  <span class="methodname">offsetExists()</span> simply
        checks if the index is within the bounds.
    </p>

    <table id="zend.ldap.api.reference.zend-ldap-dn.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Dn API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Dn factory(string|array $dn,
                        string|null $caseFold)</code> </em>
                    </td>

                    <td align="left">
                        Creates a <span class="classname">Zend_Ldap_Dn</span> instance from an array
                        or a string. The array must conform to the array structure detailed
                        under  <span class="methodname">Zend_Ldap_Dn::implodeDn()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Dn fromString(string $dn,
                        string|null $caseFold)</code> </em>
                    </td>

                    <td align="left">
                        Creates a <span class="classname">Zend_Ldap_Dn</span> instance from a
                        string.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Dn fromArray(array $dn,
                        string|null $caseFold)</code> </em>
                    </td>

                    <td align="left">
                        Creates a <span class="classname">Zend_Ldap_Dn</span> instance from an array.
                        The array must conform to the array structure detailed under
                         <span class="methodname">Zend_Ldap_Dn::implodeDn()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getRdn(string|null $caseFold)</code></td>

                    <td align="left">
                        Gets the <acronym class="acronym">RDN</acronym> of the current DN. The return value is an
                        array with the <acronym class="acronym">RDN</acronym> attribute names its keys and the
                        <acronym class="acronym">RDN</acronym> attribute values.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getRdnString(string|null $caseFold)</code></td>

                    <td align="left">
                        Gets the <acronym class="acronym">RDN</acronym> of the current DN. The return value is a
                        string.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn getParentDn(integer $levelUp)</code></td>

                    <td align="left">
                        Gets the DN of the current DN&#039;s ancestor
                        <var class="varname">$levelUp</var> levels up the tree. <var class="varname">$levelUp</var>
                        defaults to <code class="code">1</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">array get(integer $index, integer $length, string|null
                        $caseFold)</code>
                    </td>

                    <td align="left">
                        Returns a slice of the current DN determined by
                        <var class="varname">$index</var> and <var class="varname">$length</var>.
                        <var class="varname">$index</var> starts with <code class="code">0</code> on the DN part from the
                        left.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn set(integer $index, array $value)</code></td>

                    <td align="left">
                        Replaces a DN part in the current DN. This operation
                        manipulates the current instance.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn remove(integer $index, integer $length)</code></td>

                    <td align="left">
                        Removes a DN part from the current DN. This operation
                        manipulates the current instance. <var class="varname">$length</var> defaults to
                        <code class="code">1</code>
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn append(array $value)</code></td>

                    <td align="left">
                        Appends a DN part to the current DN. This operation
                        manipulates the current instance.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn prepend(array $value)</code></td>

                    <td align="left">
                        Prepends a DN part to the current DN. This operation
                        manipulates the current instance.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn insert(integer $index, array $value)</code></td>

                    <td align="left">
                        Inserts a DN part after the index <var class="varname">$index</var> to the
                        current DN. This operation manipulates the current
                        instance.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">void setCaseFold(string|null $caseFold)</code></td>

                    <td align="left">
                        Sets the case-folding option to the current DN instance. If
                        <var class="varname">$caseFold</var> is <b><tt>NULL</tt></b> the default
                        case-folding setting (<b><tt>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</tt></b>
                        by default or set via
                         <span class="methodname">Zend_Ldap_Dn::setDefaultCaseFold()</span> will be set for
                        the current instance.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string toString(string|null $caseFold)</code></td>
                    <td align="left">Returns DN as a string.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array toArray(string|null $caseFold)</code></td>
                    <td align="left">Returns DN as an array.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string __toString()</code></td>

                    <td align="left">
                        Returns DN as a string - proxies to
                         <span class="methodname">Zend_Ldap_Dn::toString(null)</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">void setDefaultCaseFold(string
                        $caseFold)</code> </em>
                    </td>

                    <td align="left">
                        Sets the default case-folding option used by all instances
                        on creation by default. Already existing instances are not affected
                        by this setting.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">array escapeValue(string|array
                        $values)</code> </em>
                    </td>

                    <td align="left">Escapes a DN value according to <acronym class="acronym">RFC</acronym> 2253.</td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">array unescapeValue(string|array
                        $values)</code> </em>
                    </td>

                    <td align="left">
                        Undoes the conversion done by
                         <span class="methodname">Zend_Ldap_Dn::escapeValue()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">array explodeDn(string $dn, array
                        &amp;$keys, array &amp;$vals, string|null $caseFold)</code>
                        </em>
                    </td>

                    <td align="left">
                        <p class="para">
                            Explodes the DN <var class="varname">$dn</var> into an array containing
                            all parts of the given DN. <var class="varname">$keys</var> optinally receive DN
                            keys (e.g. CN, OU, DC, ...). <var class="varname">$vals</var> optionally receive
                            DN values. The resulting array will be of type
                        </p>

                        <pre class="programlisting brush: php">
array(
array(&quot;cn&quot; =&gt; &quot;name1&quot;, &quot;uid&quot; =&gt; &quot;user&quot;),
array(&quot;cn&quot; =&gt; &quot;name2&quot;),
array(&quot;dc&quot; =&gt; &quot;example&quot;),
array(&quot;dc&quot; =&gt; &quot;org&quot;)
)
</pre>


                        <p class="para">
                            for a DN of <code class="code">cn=name1+uid=user,cn=name2,dc=example,dc=org</code>.
                        </p>
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">boolean checkDn(string $dn, array
                        &amp;$keys, array &amp;$vals, string|null $caseFold)</code>
                        </em>
                    </td>

                    <td align="left">
                        Checks if a given DN <var class="varname">$dn</var> is malformed. If
                        <var class="varname">$keys</var> or <var class="varname">$keys</var> and
                        <var class="varname">$vals</var> are given, these arrays will be filled with the
                        appropriate DN keys and values.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">string implodeRdn(array $part, string|null
                        $caseFold)</code> </em>
                    </td>

                    <td align="left">
                        Returns a DN part in the form
                        <code class="code">$attribute=$value</code>
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">string implodeDn(array $dnArray,
                        string|null $caseFold, string $separator)</code>
                        </em>
                    </td>

                    <td align="left">
                        <p class="para">
                            Implodes an array in the form delivered by
                             <span class="methodname">Zend_Ldap_Dn::explodeDn()</span> to a DN string.
                            <var class="varname">$separator</var> defaults to <code class="code">&#039;,&#039;</code> but some LDAP
                            servers also understand <code class="code">&#039;;&#039;</code>. <var class="varname">$dnArray</var>
                            must of type
                        </p>

                        <pre class="programlisting brush: php">
array(
array(&quot;cn&quot; =&gt; &quot;name1&quot;, &quot;uid&quot; =&gt; &quot;user&quot;),
array(&quot;cn&quot; =&gt; &quot;name2&quot;),
array(&quot;dc&quot; =&gt; &quot;example&quot;),
array(&quot;dc&quot; =&gt; &quot;org&quot;)
)
</pre>

                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">boolean isChildOf(string|Zend_Ldap_Dn
                        $childDn, string|Zend_Ldap_Dn $parentDn)</code> </em>
                    </td>

                    <td align="left">
                        Checks if given <var class="varname">$childDn</var> is beneath
                        <var class="varname">$parentDn</var> subtree.
                    </td>
                </tr>

            </tbody>
        
    </table>

</div>
        <div class="section" id="zend.ldap.api.reference.zend-ldap-filter"><div class="info"><h1 class="title">Zend_Ldap_Filter</h1></div>
    

    <table id="zend.ldap.api.reference.zend-filter.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Filter API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter equals(string $attr,
                        string $value)</code> </em>
                    </td>

                    <td align="left">
                        Creates an &#039;equals&#039; filter:
                        <code class="code">(attr=value)</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter begins(string $attr,
                        string $value)</code> </em>
                    </td>

                    <td align="left">
                        Creates an &#039;begins with&#039; filter:
                        <code class="code">(attr=value*)</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter ends(string $attr, string
                        $value)</code> </em>
                    </td>

                    <td align="left">
                        Creates an &#039;ends with&#039; filter:
                        <code class="code">(attr=*value)</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter contains(string $attr,
                        string $value)</code> </em>
                    </td>

                    <td align="left">
                        Creates an &#039;contains&#039; filter:
                        <code class="code">(attr=*value*)</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter greater(string $attr,
                        string $value)</code> </em>
                    </td>

                    <td align="left">
                        Creates an &#039;greater&#039; filter:
                        <code class="code">(attr&gt;value)</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter greaterOrEqual(string
                        $attr, string $value)</code> </em>
                    </td>

                    <td align="left">
                        Creates an &#039;greater or equal&#039; filter:
                        <code class="code">(attr&gt;=value)</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter less(string $attr, string
                        $value)</code> </em>
                    </td>

                    <td align="left">
                        Creates an &#039;less&#039; filter:
                        <code class="code">(attr&lt;value)</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter lessOrEqual(string $attr,
                        string $value)</code> </em>
                    </td>

                    <td align="left">
                        Creates an &#039;less or equal&#039; filter:
                        <code class="code">(attr&lt;=value)</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter approx(string $attr,
                        string $value)</code> </em>
                    </td>

                    <td align="left">
                        Creates an &#039;approx&#039; filter:
                        <code class="code">(attr~=value)</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter any(string $attr)</code>
                        </em>
                    </td>

                    <td align="left">Creates an &#039;any&#039; filter: <code class="code">(attr=*)</code>.</td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter string(string
                        $filter)</code> </em>
                    </td>

                    <td align="left">
                        Creates a simple custom string filter. The user is
                        responsible for all value-escaping as the filter is used as
                        is.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter mask(string $mask, string
                        $value,...)</code> </em>
                    </td>

                    <td align="left">
                        Creates a filter from a string mask. All <var class="varname">$value</var>
                        parameters will be escaped and substituted into <var class="varname">$mask</var>
                        by using
                        <a href="http://php.net/sprintf" class="link external">&raquo; 
                         <span class="methodname">sprintf()</span></a>
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter
                        andFilter(Zend_Ldap_Filter_Abstract $filter,...)</code>
                        </em>
                    </td>

                    <td align="left">Creates an &#039;and&#039; filter from all arguments given.</td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Filter
                        orFilter(Zend_Ldap_Filter_Abstract $filter,...)</code>
                        </em>
                    </td>

                    <td align="left">Creates an &#039;or&#039; filter from all arguments given.</td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">__construct(string $attr, string $value, string
                        $filtertype, string|null $prepend, string|null
                        $append)</code>
                    </td>

                    <td align="left">
                        Constructor. Creates an arbitrary filter according to the
                        parameters supplied. The resulting filter will be a concatenation
                        <code class="code">$attr . $filtertype . $prepend . $value . $append</code>.
                        Normally this constructor is not needed as all filters can be
                        created by using the appropriate factory methods.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string toString()</code></td>
                    <td align="left">Returns a string representation of the filter.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string __toString()</code></td>

                    <td align="left">
                        Returns a string representation of the filter. Proxies to
                         <span class="methodname">Zend_Ldap_Filter::toString()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Filter_Abstract negate()</code></td>
                    <td align="left">Negates the current filter.</td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Filter_Abstract
                        addAnd(Zend_Ldap_Filter_Abstract $filter,...)</code>
                    </td>

                    <td align="left">
                        Creates an &#039;and&#039; filter from the current filter and all
                        filters passed in as the arguments.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Filter_Abstract
                        addOr(Zend_Ldap_Filter_Abstract $filter,...)</code>
                    </td>

                    <td align="left">
                        Creates an &#039;or&#039; filter from the current filter and all
                        filters passed in as the arguments.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">string|array escapeValue(string|array
                        $values)</code> </em>
                    </td>

                    <td align="left">
                        Escapes the given <var class="varname">$values</var> according to
                        <acronym class="acronym">RFC</acronym> 2254 so that they can be safely used in
                        <acronym class="acronym">LDAP</acronym> filters. If a single string is given, a string is
                        returned - otherwise an array is returned. Any control characters with an
                        <acronym class="acronym">ASCII</acronym> code &lt; 32 as well as the characters with special
                        meaning in <acronym class="acronym">LDAP</acronym> filters &quot;*&quot;, &quot;(&quot;, &quot;)&quot;, and &quot;\&quot; (the
                        backslash) are converted into the representation of a backslash followed by
                        two hex digits representing the hexadecimal value of the character.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">string|array unescapeValue(string|array
                        $values)</code> </em>
                    </td>

                    <td align="left">
                        Undoes the conversion done by
                         <span class="methodname">Zend_Ldap_Filter::escapeValue()</span>. Converts any
                        sequences of a backslash followed by two hex digits into the
                        corresponding character.
                    </td>
                </tr>

            </tbody>
        
    </table>

</div>
        <div class="section" id="zend.ldap.api.reference.zend-ldap-node"><div class="info"><h1 class="title">Zend_Ldap_Node</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Ldap_Node</span> includes the magic property accessors
         <span class="methodname">__set()</span>,  <span class="methodname">__get()</span>,
         <span class="methodname">__unset()</span> and  <span class="methodname">__isset()</span> to access the
        attributes by their name. They proxy to
         <span class="methodname">Zend_Ldap_Node::setAttribute()</span>,
         <span class="methodname">Zend_Ldap_Node::getAttribute()</span>,
         <span class="methodname">Zend_Ldap_Node::deleteAttribute()</span> and
         <span class="methodname">Zend_Ldap_Node::existsAttribute()</span> respectively. Furthermore the
        class implements <code class="code">ArrayAccess</code> for array-style-access to the attributes.
        <span class="classname">Zend_Ldap_Node</span> also implements <code class="code">Iterator</code> and
        <code class="code">RecursiveIterato</code> to allow for recursive tree-traversal.
    </p>

    <table id="zend.ldap.api.reference.zend-ldap-node.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap getLdap()</code></td>

                    <td align="left">
                        Returns the current <acronym class="acronym">LDAP</acronym> connection. Throws
                        <span class="classname">Zend_Ldap_Exception</span> if current node is in detached
                        mode (not connected to a <span class="classname">Zend_Ldap</span> instance).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node attachLdap(Zend_Ldap $ldap)</code></td>

                    <td align="left">
                        Attach the current node to the <var class="varname">$ldap</var>
                        <span class="classname">Zend_Ldap</span> instance. Throws
                        <span class="classname">Zend_Ldap_Exception</span> if <var class="varname">$ldap</var> is
                        not responsible for the current node (node is not a child of the
                        <var class="varname">$ldap</var> base DN).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node detachLdap()</code></td>
                    <td align="left">Detach node from <acronym class="acronym">LDAP</acronym> connection.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">boolean isAttached()</code></td>

                    <td align="left">
                        Checks if the current node is attached to a <acronym class="acronym">LDAP</acronym>
                        connection.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Node create(string|array|Zend_Ldap_Dn $dn, array
                            $objectClass)</code></em>
                    </td>

                    <td align="left">
                        Factory method to create a new detached
                        <span class="classname">Zend_Ldap_Node</span> for a given DN. Creates a new
                        <span class="classname">Zend_Ldap_Node</span> with the DN <var class="varname">$dn</var> and
                        the object-classes <var class="varname">$objectClass</var>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Node fromLdap(string|array|Zend_Ldap_Dn $dn,
                            Zend_Ldap $ldap)</code></em>
                    </td>

                    <td align="left">
                        Factory method to create an attached
                        <span class="classname">Zend_Ldap_Node</span> for a given DN. Loads an existing
                        <span class="classname">Zend_Ldap_Node</span> with the DN <var class="varname">$dn</var>
                        from the <acronym class="acronym">LDAP</acronym> connection <var class="varname">$ldap</var>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Node fromArray((array $data,
                            boolean $fromDataSource)</code></em>
                    </td>

                    <td align="left">
                        Factory method to create a detached <span class="classname">Zend_Ldap_Node</span>
                        from array data <var class="varname">$data</var>. if
                        <var class="varname">$fromDataSource</var> is <b><tt>TRUE</tt></b>
                        (<b><tt>FALSE</tt></b> by default), the data is treated as beeing
                        present in a <acronym class="acronym">LDAP</acronym> tree.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">boolean isNew()</code></td>

                    <td align="left">
                        Tells if the node is consiedered as new (not present on the
                        server). Please note, that this doesn&#039;t tell if the node is really
                        present on the server. Use  <span class="methodname">Zend_Ldap_Node::exists()</span>
                        to see if a node is already there.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">boolean willBeDeleted()</code></td>

                    <td align="left">
                        Tells if this node is going to be deleted once
                         <span class="methodname">Zend_Ldap_Node::update()</span> is called.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node delete()</code></td>

                    <td align="left">
                        Marks this node as to be deleted. Node will be deleted on
                        calling  <span class="methodname">Zend_Ldap_Node::update()</span> if
                         <span class="methodname">Zend_Ldap_Node::willBeDeleted()</span> is
                        <b><tt>TRUE</tt></b>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">boolean willBeMoved()</code></td>

                    <td align="left">
                        Tells if this node is going to be moved once
                         <span class="methodname">Zend_Ldap_Node::update()</span> is called.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node update(Zend_Ldap $ldap)</code></td>

                    <td align="left">
                        Sends all pending changes to the <acronym class="acronym">LDAP</acronym> server. If
                        <var class="varname">$ldap</var> is omitted the current <acronym class="acronym">LDAP</acronym>
                        connection is used. If the current node is detached from a
                        <acronym class="acronym">LDAP</acronym> connection a
                        <span class="classname">Zend_Ldap_Exception</span> will be thrown. If
                        <var class="varname">$ldap</var> is provided the current node will be attached to
                        the given <acronym class="acronym">LDAP</acronym> connection.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn getCurrentDn()</code></td>

                    <td align="left">
                        Gets the current DN of the current node as a
                        <span class="classname">Zend_Ldap_Dn</span>. This does not reflect possible
                        rename-operations.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn getDn()</code></td>

                    <td align="left">
                        Gets the original DN of the current node as a
                        <span class="classname">Zend_Ldap_Dn</span>. This reflects possible
                        rename-operations.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getDnString(string $caseFold)</code></td>

                    <td align="left">
                        Gets the original DN of the current node as a string. This
                        reflects possible rename-operations.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getDnArray(string $caseFold)</code></td>

                    <td align="left">
                        Gets the original DN of the current node as an array. This
                        reflects possible rename-operations.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getRdnString(string $caseFold)</code></td>

                    <td align="left">
                        Gets the <acronym class="acronym">RDN</acronym> of the current node as a string. This
                        reflects possible rename-operations.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getRdnArray(string $caseFold)</code></td>

                    <td align="left">
                        Gets the <acronym class="acronym">RDN</acronym> of the current node as an array. This
                        reflects possible rename-operations.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node setDn(Zend_Ldap_Dn|string|array $newDn)</code>
                    </td>

                    <td align="left">
                        Sets the new DN for this node effectively moving the node
                        once  <span class="methodname">Zend_Ldap_Node::update()</span> is called.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node move(Zend_Ldap_Dn|string|array $newDn)</code>
                    </td>

                    <td align="left">
                        This is an alias for  <span class="methodname">Zend_Ldap_Node::setDn()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node rename(Zend_Ldap_Dn|string|array $newDn)</code>
                    </td>

                    <td align="left">
                        This is an alias for  <span class="methodname">Zend_Ldap_Node::setDn()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getObjectClass()</code></td>
                    <td align="left">Returns the objectClass of the node.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node setObjectClass(array|string $value)</code></td>
                    <td align="left">Sets the objectClass attribute.</td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node appendObjectClass(array|string $value)</code>
                    </td>

                    <td align="left">Appends to the objectClass attribute.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string toLdif(array $options)</code></td>

                    <td align="left">
                        Returns a <acronym class="acronym">LDIF</acronym> representation of the current node.
                        <var class="varname">$options</var> will be passed to the
                        <span class="classname">Zend_Ldap_Ldif_Encoder</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getChangedData()</code></td>

                    <td align="left">
                        Gets changed node data. The array contains all changed
                        attributes. This format can be used in
                         <span class="methodname">Zend_Ldap::add()</span> and
                         <span class="methodname">Zend_Ldap::update()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getChanges()</code></td>
                    <td align="left">Returns all changes made.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string toString()</code></td>

                    <td align="left">
                        Returns the DN of the current node - proxies to
                         <span class="methodname">Zend_Ldap_Dn::getDnString()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string __toString()</code></td>

                    <td align="left">
                        Casts to string representation - proxies to
                         <span class="methodname">Zend_Ldap_Dn::toString()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array toArray(boolean $includeSystemAttributes)</code></td>

                    <td align="left">
                        Returns an array representation of the current node. If
                        <var class="varname">$includeSystemAttributes</var> is <b><tt>FALSE</tt></b>
                        (defaults to <b><tt>TRUE</tt></b>) the system specific attributes are
                        stripped from the array. Unlike
                         <span class="methodname">Zend_Ldap_Node::getAttributes()</span> the resulting array
                        contains the DN with key <code class="code">&#039;dn&#039;</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string toJson(boolean $includeSystemAttributes)</code></td>

                    <td align="left">
                        Returns a <acronym class="acronym">JSON</acronym> representation of the current node using
                         <span class="methodname">Zend_Ldap_Node::toArray()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getData(boolean $includeSystemAttributes)</code></td>

                    <td align="left">
                        Returns the node&#039;s attributes. The array contains all
                        attributes in its internal format (no conversion).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">boolean existsAttribute(string $name, boolean $emptyExists)</code>
                    </td>

                    <td align="left">
                        Checks whether a given attribute exists. If
                        <var class="varname">$emptyExists</var> is <b><tt>FALSE</tt></b> empty
                        attributes (containing only array()) are treated as non-existent returning
                        <b><tt>FALSE</tt></b>. If <var class="varname">$emptyExists</var> is
                        <b><tt>TRUE</tt></b> empty attributes are treated as existent returning
                        <b><tt>TRUE</tt></b>. In this case the method returns
                        <b><tt>FALSE</tt></b> only if the attribute name is missing in the
                        key-collection.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">boolean attributeHasValue(string $name, mixed|array $value)</code>
                    </td>

                    <td align="left">
                        Checks if the given value(s) exist in the attribute. The
                        method returns <b><tt>TRUE</tt></b> only if all values in
                        <var class="varname">$value</var> are present in the attribute. Comparison is
                        done strictly (respecting the data type).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">integer count()</code></td>

                    <td align="left">
                        Returns the number of attributes in the node. Implements Countable.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">mixed getAttribute(string $name, integer|null $index)</code>
                    </td>

                    <td align="left">
                        Gets a <acronym class="acronym">LDAP</acronym> attribute. Data conversion is applied using
                         <span class="methodname">Zend_Ldap_Attribute::getAttribute()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">array getAttributes(boolean $includeSystemAttributes)</code>
                    </td>

                    <td align="left">
                        Gets all attributes of node. If
                        <var class="varname">$includeSystemAttributes</var> is <b><tt>FALSE</tt></b>
                        (defaults to <b><tt>TRUE</tt></b>) the system specific attributes are
                        stripped from the array.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node setAttribute(string $name, mixed $value)</code>
                    </td>

                    <td align="left">
                        Sets a <acronym class="acronym">LDAP</acronym> attribute. Data conversion is applied using
                         <span class="methodname">Zend_Ldap_Attribute::setAttribute()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node appendToAttribute(string $name, mixed $value)</code>
                    </td>

                    <td align="left">
                        Appends to a <acronym class="acronym">LDAP</acronym> attribute. Data conversion is applied
                        using  <span class="methodname">Zend_Ldap_Attribute::setAttribute()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">array|integer getDateTimeAttribute(string $name,
                            integer|null $index)</code>
                    </td>

                    <td align="left">
                        Gets a <acronym class="acronym">LDAP</acronym> date/time attribute. Data conversion is
                        applied using
                         <span class="methodname">Zend_Ldap_Attribute::getDateTimeAttribute()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node setDateTimeAttribute(string $name,
                            integer|array $value, boolean $utc)</code>
                    </td>

                    <td align="left">
                        Sets a <acronym class="acronym">LDAP</acronym> date/time attribute. Data conversion is
                        applied using
                         <span class="methodname">Zend_Ldap_Attribute::setDateTimeAttribute()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node appendToDateTimeAttribute(string $name,
                            integer|array $value, boolean $utc)</code>
                    </td>

                    <td align="left">
                        Appends to a <acronym class="acronym">LDAP</acronym> date/time attribute. Data conversion is
                        applied using
                         <span class="methodname">Zend_Ldap_Attribute::setDateTimeAttribute()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node setPasswordAttribute(string $password,
                            string $hashType, string $attribName)</code>
                    </td>

                    <td align="left">
                        Sets a <acronym class="acronym">LDAP</acronym> password on <var class="varname">$attribName</var>
                        (defaults to <code class="code">&#039;userPassword&#039;</code>) to <var class="varname">$password</var>
                        with the hash type <var class="varname">$hashType</var> (defaults to
                        <b><tt>Zend_Ldap_Attribute::PASSWORD_HASH_MD5</tt></b>).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node deleteAttribute(string $name)</code></td>
                    <td align="left">Deletes a <acronym class="acronym">LDAP</acronym> attribute.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">void removeDuplicatesFromAttribute(string$name)</code></td>

                    <td align="left">
                        Removes duplicate values from a <acronym class="acronym">LDAP</acronym> attribute.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">void removeFromAttribute(string $attribName,
                            mixed|array $value)</code>
                    </td>

                    <td align="left">
                        Removes the given values from a <acronym class="acronym">LDAP</acronym> attribute.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">boolean exists(Zend_Ldap $ldap)</code></td>

                    <td align="left">
                        Checks if the current node exists on the given <acronym class="acronym">LDAP</acronym>
                        server (current server is used if <b><tt>NULL</tt></b> is passed).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node reload(Zend_Ldap $ldap)</code></td>

                    <td align="left">
                        Reloads the current node&#039;s attributes from the given <acronym class="acronym">LDAP</acronym>
                        server (current server is used if <b><tt>NULL</tt></b> is
                        passed).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node_Collection
                            searchSubtree(string|Zend_Ldap_Filter_Abstract $filter, integer
                            $scope, string $sort)</code>
                    </td>

                    <td align="left">
                        Searches the nodes&#039;s subtree with the given
                        <var class="varname">$filter</var> and the given search parameters. See
                         <span class="methodname">Zend_Ldap::search()</span> for details on the parameters
                        <var class="varname">$scope</var> and <var class="varname">$sort</var>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">integer countSubtree(string|Zend_Ldap_Filter_Abstract
                            $filter, integer $scope)</code>
                    </td>

                    <td align="left">
                        Count the nodes&#039;s subtree items matching the given
                        <var class="varname">$filter</var> and the given search scope. See
                         <span class="methodname">Zend_Ldap::search()</span> for details on the
                        <var class="varname">$scope</var> parameter.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">integer countChildren()</code></td>
                    <td align="left">Count the nodes&#039;s children.</td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node_Collection
                            searchChildren(string|Zend_Ldap_Filter_Abstract $filter, string
                            $sort)</code>
                    </td>

                    <td align="left">
                        Searches the nodes&#039;s children matching the given
                        <var class="varname">$filter</var>. See  <span class="methodname">Zend_Ldap::search()</span>
                        for details on the <var class="varname">$sort</var> parameter.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">boolean hasChildren()</code></td>
                    <td align="left">Returns whether the current node has children.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node_ChildrenIterator getChildren()</code></td>
                    <td align="left">Returns all children of the current node.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node getParent(Zend_Ldap $ldap)</code></td>

                    <td align="left">
                        Returns the parent of the current node using the <acronym class="acronym">LDAP</acronym>
                        connection <var class="varname">$ldap</var> (uses the current
                        <acronym class="acronym">LDAP</acronym> connection if omitted).
                    </td>
                </tr>

            </tbody>
        
    </table>

</div>
        <div class="section" id="zend.ldap.api.reference.zend-ldap-node-rootdse"><div class="info"><h1 class="title">Zend_Ldap_Node_RootDse</h1></div>
    

    <p class="para">The following methods are available on all vendor-specific subclasses.</p>

    <p class="para">
        <span class="classname">Zend_Ldap_Node_RootDse</span> includes the magic property accessors
         <span class="methodname">__get()</span> and  <span class="methodname">__isset()</span> to access the
        attributes by their name. They proxy to
         <span class="methodname">Zend_Ldap_Node_RootDse::getAttribute()</span> and
         <span class="methodname">Zend_Ldap_Node_RootDse::existsAttribute()</span> respectively.
         <span class="methodname">__set()</span> and  <span class="methodname">__unset()</span> are also implemented
        but they throw a <code class="code">BadMethodCallException</code> as modifications are not allowed on
        RootDSE nodes. Furthermore the class implements <code class="code">ArrayAccess</code> for
        array-style-access to the attributes.  <span class="methodname">offsetSet()</span> and
         <span class="methodname">offsetUnset()</span> also throw a <code class="code">BadMethodCallException</code> due
        ro obvious reasons.
    </p>

    <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_RootDse API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn getDn()</code></td>

                    <td align="left">
                        Gets the DN of the current node as a <span class="classname">Zend_Ldap_Dn</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getDnString(string $caseFold)</code></td>
                    <td align="left">Gets the DN of the current node as a string.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getDnArray(string $caseFold)</code></td>
                    <td align="left">Gets the DN of the current node as an array.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getRdnString(string $caseFold)</code></td>
                    <td align="left">Gets the <acronym class="acronym">RDN</acronym> of the current node as a string.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getRdnArray(string $caseFold)</code></td>
                    <td align="left">Gets the <acronym class="acronym">RDN</acronym> of the current node as an array.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getObjectClass()</code></td>
                    <td align="left">Returns the objectClass of the node.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string toString()</code></td>

                    <td align="left">
                        Returns the DN of the current node - proxies to
                         <span class="methodname">Zend_Ldap_Dn::getDnString()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string __toString()</code></td>

                    <td align="left">
                        Casts to string representation - proxies to
                         <span class="methodname">Zend_Ldap_Dn::toString()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array toArray(boolean $includeSystemAttributes)</code></td>

                    <td align="left">
                        Returns an array representation of the current node. If
                        <var class="varname">$includeSystemAttributes</var> is <b><tt>FALSE</tt></b>
                        (defaults to <b><tt>TRUE</tt></b>) the system specific attributes are
                        stripped from the array. Unlike
                         <span class="methodname">Zend_Ldap_Node_RootDse::getAttributes()</span> the
                        resulting array contains the DN with key <code class="code">&#039;dn&#039;</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string toJson(boolean $includeSystemAttributes)</code></td>

                    <td align="left">
                        Returns a <acronym class="acronym">JSON</acronym> representation of the current node using
                         <span class="methodname">Zend_Ldap_Node_RootDse::toArray()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getData(boolean $includeSystemAttributes)</code></td>

                    <td align="left">
                        Returns the node&#039;s attributes. The array contains all
                        attributes in its internal format (no conversion).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">boolean existsAttribute(string $name, boolean $emptyExists)</code>
                    </td>

                    <td align="left">
                        Checks whether a given attribute exists. If
                        <var class="varname">$emptyExists</var> is <b><tt>FALSE</tt></b>, empty
                        attributes (containing only array()) are treated as non-existent returning
                        <b><tt>FALSE</tt></b>. If <var class="varname">$emptyExists</var> is
                        <b><tt>TRUE</tt></b>, empty attributes are treated as existent
                        returning <b><tt>TRUE</tt></b>. In this case the method returns
                        <b><tt>FALSE</tt></b> only if the attribute name is missing in the
                        key-collection.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">boolean attributeHasValue(string $name, mixed|array $value)</code>
                    </td>

                    <td align="left">
                        Checks if the given value(s) exist in the attribute. The
                        method returns <b><tt>TRUE</tt></b> only if all values in
                        <var class="varname">$value</var> are present in the attribute. Comparison is
                        done strictly (respecting the data type).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">integer count()</code></td>

                    <td align="left">
                        Returns the number of attributes in the node. Implements Countable.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">mixed getAttribute(string $name, integer|null $index)</code>
                    </td>

                    <td align="left">
                        Gets a <acronym class="acronym">LDAP</acronym> attribute. Data conversion is applied using
                         <span class="methodname">Zend_Ldap_Attribute::getAttribute()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">array getAttributes(boolean $includeSystemAttributes)</code>
                    </td>

                    <td align="left">
                        Gets all attributes of node. If
                        <var class="varname">$includeSystemAttributes</var> is <b><tt>FALSE</tt></b>
                        (defaults to <b><tt>TRUE</tt></b>) the system specific attributes are
                        stripped from the array.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">array|integer getDateTimeAttribute(string $name,
                            integer|null $index)</code>
                    </td>

                    <td align="left">
                        Gets a <acronym class="acronym">LDAP</acronym> date/time attribute. Data conversion is
                        applied using
                         <span class="methodname">Zend_Ldap_Attribute::getDateTimeAttribute()</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Node_RootDse reload(Zend_Ldap $ldap)</code></td>

                    <td align="left">
                        Reloads the current node&#039;s attributes from the given <acronym class="acronym">LDAP</acronym>
                        server.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Node_RootDse create(Zend_Ldap
                            $ldap)</code></em>
                    </td>

                    <td align="left">Factory method to create the RootDSE.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getNamingContexts()</code></td>
                    <td align="left">Gets the namingContexts.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string|null getSubschemaSubentry()</code></td>
                    <td align="left">Gets the subschemaSubentry.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">boolean supportsVersion(string|int|array $versions)</code></td>
                    <td align="left">Determines if the <acronym class="acronym">LDAP</acronym> version is supported.</td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">boolean supportsSaslMechanism(string|array $mechlist)</code>
                    </td>

                    <td align="left">Determines if the sasl mechanism is supported.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">integer getServerType()</code></td>

                    <td align="left">
                        Gets the server type. Returns

                        <dl>

                            <dt>

                                <dt class="term">
                                    <b><tt>Zend_Ldap_Node_RootDse::SERVER_TYPE_GENERIC</tt></b>
                                </dt>

                                <dd>

                                    <p class="para">for unknown <acronym class="acronym">LDAP</acronym> servers</p>
                                </dd>

                            </dt>


                            <dt>

                                <dt class="term">
                                    <b><tt>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</tt></b>
                                </dt>

                                <dd>
<p class="para">for OpenLDAP servers</p></dd>

                            </dt>


                            <dt>

                                <dt class="term">
                                    <b><tt>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</tt></b>
                                </dt>

                                <dd>

                                    <p class="para">for Microsoft ActiveDirectory servers</p>
                                </dd>

                            </dt>


                            <dt>

                                <dt class="term">
                                    <b><tt>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</tt></b>
                                </dt>

                                <dd>
<p class="para">For Novell eDirectory servers</p></dd>

                            </dt>

                        </dl>

                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn getSchemaDn()</code></td>
                    <td align="left">Returns the schema DN.</td>
                </tr>

            </tbody>
        
    </table>


    <div class="section" id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap"><div class="info"><h1 class="title">OpenLDAP</h1></div>
        

        <p class="para">
            Additionally the common methods above apply to instances of
            <span class="classname">Zend_Ldap_Node_RootDse_OpenLdap</span>.
        </p>

        <blockquote class="note"><p><b class="note">Note</b>: 
            <p class="para">
                Refer to
                <a href="http://www.zytrax.com/books/ldap/ch3/#operational" class="link external">&raquo; LDAP
                Operational Attributes and Objects</a>for information on the attributes
                of OpenLDAP RootDSE.
            </p>
        </p></blockquote>

        <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_RootDse_OpenLdap API</b></caption></div>
            

            
                <thead valign="middle">
                    <tr valign="middle">
                        <th>Method</th>
                        <th>Description</th>
                    </tr>

                </thead>


                <tbody valign="middle" class="tbody">
                    <tr valign="middle">
                        <td align="left"><code class="code">integer getServerType()</code></td>

                        <td align="left">
                            Gets the server type. Returns
                            <b><tt>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</tt></b>
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getConfigContext()</code></td>
                        <td align="left">Gets the configContext.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getMonitorContext()</code></td>
                        <td align="left">Gets the monitorContext.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">boolean supportsControl(string|array $oids)</code></td>
                        <td align="left">Determines if the control is supported.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">boolean supportsExtension(string|array $oids)</code></td>
                        <td align="left">Determines if the extension is supported.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">boolean supportsFeature(string|array $oids)</code></td>
                        <td align="left">Determines if the feature is supported.</td>
                    </tr>

                </tbody>
            
        </table>

    </div>

    <div class="section" id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory"><div class="info"><h1 class="title">ActiveDirectory</h1></div>
        

        <p class="para">
            Additionally the common methods above apply to instances of
            <span class="classname">Zend_Ldap_Node_RootDse_ActiveDirectory</span>.
        </p>

        <blockquote class="note"><p><b class="note">Note</b>: 
            <p class="para">
                Refer to
                <a href="http://msdn.microsoft.com/en-us/library/ms684291(VS.85).aspx" class="link external">&raquo; 
                RootDSE</a>for information on the attributes of Microsoft
                ActiveDirectory RootDSE.
            </p>
        </p></blockquote>

        <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_RootDse_ActiveDirectory API</b></caption></div>
            

            
                <thead valign="middle">
                    <tr valign="middle">
                        <th>Method</th>
                        <th>Description</th>
                    </tr>

                </thead>


                <tbody valign="middle" class="tbody">
                    <tr valign="middle">
                        <td align="left"><code class="code">integer getServerType()</code></td>

                        <td align="left">
                            Gets the server type. Returns
                            <b><tt>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</tt></b>
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getConfigurationNamingContext()</code></td>
                        <td align="left">Gets the configurationNamingContext.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getCurrentTime()</code></td>
                        <td align="left">Gets the currentTime.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getDefaultNamingContext()</code></td>
                        <td align="left">Gets the defaultNamingContext.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getDnsHostName()</code></td>
                        <td align="left">Gets the dnsHostName.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getDomainControllerFunctionality()</code></td>
                        <td align="left">Gets the domainControllerFunctionality.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getDomainFunctionality()</code></td>
                        <td align="left">Gets the domainFunctionality.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getDsServiceName()</code></td>
                        <td align="left">Gets the dsServiceName.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getForestFunctionality()</code></td>
                        <td align="left">Gets the forestFunctionality.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getHighestCommittedUSN()</code></td>
                        <td align="left">Gets the highestCommittedUSN.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getIsGlobalCatalogReady()</code></td>
                        <td align="left">Gets the isGlobalCatalogReady.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getIsSynchronized()</code></td>
                        <td align="left">Gets the isSynchronized.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getLdapServiceName()</code></td>
                        <td align="left">Gets the ldapServiceName.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getRootDomainNamingContext()</code></td>
                        <td align="left">Gets the rootDomainNamingContext.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getSchemaNamingContext()</code></td>
                        <td align="left">Gets the schemaNamingContext.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getServerName()</code></td>
                        <td align="left">Gets the serverName.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">boolean supportsCapability(string|array $oids)</code></td>
                        <td align="left">Determines if the capability is supported.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">boolean supportsControl(string|array $oids)</code></td>
                        <td align="left">Determines if the control is supported.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">boolean supportsPolicy(string|array $policies)</code></td>
                        <td align="left">Determines if the version is supported.</td>
                    </tr>

                </tbody>
            
        </table>

    </div>

    <div class="section" id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory"><div class="info"><h1 class="title">eDirectory</h1></div>
        

        <p class="para">
            Additionally the common methods above apply to instances of
            <code class="code">Zend_Ldap_Node_RootDse_eDirectory</code>.
        </p>

        <blockquote class="note"><p><b class="note">Note</b>: 
            <p class="para">
                Refer to <a href="http://www.novell.com/documentation/edir88/edir88/index.html?page=/documentation/edir88/edir88/data/ah59jqq.html" class="link external">&raquo; Getting
                    Information about the <acronym class="acronym">LDAP</acronym> Server</a>for information on
                the attributes of Novell eDirectory RootDSE.
            </p>
        </p></blockquote>

        <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_RootDse_eDirectory API</b></caption></div>
            

            
                <thead valign="middle">
                    <tr valign="middle">
                        <th>Method</th>
                        <th>Description</th>
                    </tr>

                </thead>


                <tbody valign="middle" class="tbody">
                    <tr valign="middle">
                        <td align="left"><code class="code">integer getServerType()</code></td>

                        <td align="left">
                            Gets the server type. Returns
                            <b><tt>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</tt></b>
                        </td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">boolean supportsExtension(string|array $oids)</code></td>
                        <td align="left">Determines if the extension is supported.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getVendorName()</code></td>
                        <td align="left">Gets the vendorName.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getVendorVersion()</code></td>
                        <td align="left">Gets the vendorVersion.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getDsaName()</code></td>
                        <td align="left">Gets the dsaName.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getStatisticsErrors()</code></td>
                        <td align="left">Gets the server statistics &quot;errors&quot;.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getStatisticsSecurityErrors()</code></td>
                        <td align="left">Gets the server statistics &quot;securityErrors&quot;.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getStatisticsChainings()</code></td>
                        <td align="left">Gets the server statistics &quot;chainings&quot;.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getStatisticsReferralsReturned()</code></td>
                        <td align="left">Gets the server statistics &quot;referralsReturned&quot;.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getStatisticsExtendedOps()</code></td>
                        <td align="left">Gets the server statistics &quot;extendedOps&quot;.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getStatisticsAbandonOps()</code></td>
                        <td align="left">Gets the server statistics &quot;abandonOps&quot;.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">string|null getStatisticsWholeSubtreeSearchOps()</code></td>
                        <td align="left">Gets the server statistics &quot;wholeSubtreeSearchOps&quot;.</td>
                    </tr>

                </tbody>
            
        </table>

    </div>
</div>
        <div class="section" id="zend.ldap.api.reference.zend-ldap-node-schema"><div class="info"><h1 class="title">Zend_Ldap_Node_Schema</h1></div>
    

    <p class="para">The following methods are available on all vendor-specific subclasses.</p>

    <p class="para">
        <code class="code">Zend_Ldap_Node_Schema</code> includes the magic property accessors
        <code class="code">__get()</code> and <code class="code">__isset()</code> to access the attributes by their
        name. They proxy to <code class="code">Zend_Ldap_Node_Schema::getAttribute()</code> and
        <code class="code">Zend_Ldap_Node_Schema::existsAttribute()</code> respectively.
        <code class="code">__set()</code> and <code class="code">__unset()</code> are also implemented, but they throw
        a <code class="code">BadMethodCallException</code> as modifications are not allowed on RootDSE
        nodes. Furthermore the class implements <code class="code">ArrayAccess</code> for
        array-style-access to the attributes. <code class="code">offsetSet()</code> and
        <code class="code">offsetUnset()</code> also throw a <code class="code">BadMethodCallException</code> due to
        obvious reasons.
    </p>

    <table id="zend.ldap.api.reference.zend-ldap-node-schema.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_Schema API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left"><code class="code">Zend_Ldap_Dn getDn()</code></td>

                    <td align="left">
                        Gets the DN of the current node as a <span class="classname">Zend_Ldap_Dn</span>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getDnString(string $caseFold)</code></td>
                    <td align="left">Gets the DN of the current node as a string.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getDnArray(string $caseFold)</code></td>
                    <td align="left">Gets the DN of the current node as an array.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getRdnString(string $caseFold)</code></td>
                    <td align="left">Gets the <acronym class="acronym">RDN</acronym> of the current node as a string.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getRdnArray(string $caseFold)</code></td>
                    <td align="left">Gets the <acronym class="acronym">RDN</acronym> of the current node as an array.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getObjectClass()</code></td>
                    <td align="left">Returns the objectClass of the node.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string toString()</code></td>

                    <td align="left">
                        Returns the DN of the current node - proxies to
                        <code class="code">Zend_Ldap_Dn::getDnString()</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string __toString()</code></td>

                    <td align="left">
                        Casts to string representation - proxies to
                        <code class="code">Zend_Ldap_Dn::toString()</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array toArray(boolean $includeSystemAttributes)</code></td>

                    <td align="left">
                        Returns an array representation of the current node. If
                        <code class="code">$includeSystemAttributes</code> is <b><tt>FALSE</tt></b>
                        (defaults to <b><tt>TRUE</tt></b>), the system specific attributes are
                        stripped from the array. Unlike
                        <code class="code">Zend_Ldap_Node_Schema::getAttributes()</code>, the resulting
                        array contains the DN with key <code class="code">&#039;dn&#039;</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string toJson(boolean $includeSystemAttributes)</code></td>

                    <td align="left">
                        Returns a <acronym class="acronym">JSON</acronym> representation of the current node using
                        <code class="code">Zend_Ldap_Node_Schema::toArray()</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getData(boolean $includeSystemAttributes)</code></td>

                    <td align="left">
                        Returns the node&#039;s attributes. The array contains all
                        attributes in its internal format (no conversion).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">boolean existsAttribute(string $name, boolean $emptyExists)</code>
                    </td>

                    <td align="left">
                        Checks whether a given attribute exists. If
                        <code class="code">$emptyExists</code> is <b><tt>FALSE</tt></b>, empty attributes
                        (containing only array()) are treated as non-existent returning
                        <b><tt>FALSE</tt></b>. If <code class="code">$emptyExists</code> is
                        <b><tt>TRUE</tt></b>, empty attributes are treated as existent
                        returning <b><tt>TRUE</tt></b>. In this case the method returns
                        <b><tt>FALSE</tt></b> only if the attribute name is missing in the
                        key-collection.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">boolean attributeHasValue(string $name, mixed|array $value)</code>
                    </td>

                    <td align="left">
                        Checks if the given value(s) exist in the attribute. The
                        method returns <b><tt>TRUE</tt></b> only if all values in
                        <code class="code">$value</code> are present in the attribute. Comparison is
                        done strictly (respecting the data type).
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">integer count()</code></td>

                    <td align="left">
                        Returns the number of attributes in the node. Implements Countable.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">mixed getAttribute(string $name, integer|null $index)</code>
                    </td>

                    <td align="left">
                        Gets a <acronym class="acronym">LDAP</acronym> attribute. Data conversion is applied using
                        <code class="code">Zend_Ldap_Attribute::getAttribute()</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">array getAttributes(boolean $includeSystemAttributes)</code>
                    </td>

                    <td align="left">
                        Gets all attributes of node. If
                        <code class="code">$includeSystemAttributes</code> is <b><tt>FALSE</tt></b>
                        (defaults to <b><tt>TRUE</tt></b>) the system specific attributes are
                        stripped from the array.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">array|integer getDateTimeAttribute(string $name,
                        integer|null $index)</code>
                    </td>

                    <td align="left">
                        Gets a <acronym class="acronym">LDAP</acronym> date/time attribute. Data conversion is
                        applied using <code class="code">Zend_Ldap_Attribute::getDateTimeAttribute()</code>.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <code class="code">Zend_Ldap_Node_Schema reload(Zend_Ldap $ldap)</code>
                    </td>

                    <td align="left">
                        Reloads the current node&#039;s attributes from the given <acronym class="acronym">LDAP</acronym>
                        server.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">Zend_Ldap_Node_Schema create(Zend_Ldap
                        $ldap)</code> </em>
                    </td>

                    <td align="left">Factory method to create the Schema node.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getAttributeTypes()</code></td>
                    <td align="left">Gets the attribute types as an array of <code class="code"/>.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getObjectClasses()</code></td>

                    <td align="left">
                        Gets the object classes as an array of
                        <code class="code">Zend_Ldap_Node_Schema_ObjectClass_Interface</code>.
                    </td>
                </tr>

            </tbody>
        
    </table>


    <table id="zend.ldap.api.reference.zend-ldap-node-schema.attributetype-interface.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_Schema_AttributeType_Interface API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left"><code class="code">string getName()</code></td>
                    <td align="left">Gets the attribute name.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getOid()</code></td>
                    <td align="left">Gets the attribute <acronym class="acronym">OID</acronym>.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getSyntax()</code></td>
                    <td align="left">Gets the attribute syntax.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">int|null getMaxLength()</code></td>
                    <td align="left">Gets the attribute maximum length.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">boolean isSingleValued()</code></td>
                    <td align="left">Returns if the attribute is single-valued.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getDescription()</code></td>
                    <td align="left">Gets the attribute description</td>
                </tr>

            </tbody>
        
    </table>


    <table id="zend.ldap.api.reference.zend-ldap-node-schema.objectclass-interface.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_Schema_ObjectClass_Interface API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left"><code class="code">string getName()</code></td>
                    <td align="left">Returns the objectClass name.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getOid()</code></td>
                    <td align="left">Returns the objectClass <acronym class="acronym">OID</acronym>.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getMustContain()</code></td>
                    <td align="left">Returns the attributes that this objectClass must contain.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getMayContain()</code></td>
                    <td align="left">Returns the attributes that this objectClass may contain.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">string getDescription()</code></td>
                    <td align="left">Returns the attribute description</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">integer getType()</code></td>

                    <td align="left">
                        Returns the objectClass type. The method returns one of the following
                        values:

                        <dl>

                            <dt>

                                <dt class="term"><code class="code">Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_UNKNOWN</code></dt>
                                <dd>
<p class="para">for unknown class types</p></dd>

                            </dt>


                            <dt>

                                <dt class="term"><code class="code">Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_STRUCTURAL</code></dt>
                                <dd>
<p class="para">for structural classes</p></dd>

                            </dt>


                            <dt>

                                <dt class="term"><code class="code">Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_ABSTRACT</code></dt>
                                <dd>
<p class="para">for abstract classes</p></dd>

                            </dt>


                            <dt>

                                <dt class="term"><code class="code">Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_AUXILIARY</code></dt>
                                <dd>
<p class="para">for auxiliary classes</p></dd>

                            </dt>

                        </dl>

                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">array getParentClasses()</code></td>

                    <td align="left">
                        Returns the parent objectClasses of this class. This
                        includes structural, abstract and auxiliary objectClasses.
                    </td>
                </tr>

            </tbody>
        
    </table>


    <p class="para">
        Classes representing attribute types and object classes extend
        <code class="code">Zend_Ldap_Node_Schema_Item</code> which provides some core methods to access
        arbitrary attributes on the underlying <acronym class="acronym">LDAP</acronym> node.
        <code class="code">Zend_Ldap_Node_Schema_Item</code> includes the magic property accessors
        <code class="code">__get()</code> and <code class="code">__isset()</code> to access the attributes by their
        name. Furthermore the class implements <code class="code">ArrayAccess</code> for
        array-style-access to the attributes. <code class="code">offsetSet()</code> and
        <code class="code">offsetUnset()</code> throw a <code class="code">BadMethodCallException</code> as
        modifications are not allowed on schema information nodes.
    </p>

    <table id="zend.ldap.api.reference.zend-ldap-node-schema.schema-item.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_Schema_Item API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left"><code class="code">array getData()</code></td>
                    <td align="left">Gets all the underlying data from the schema information node.</td>
                </tr>


                <tr valign="middle">
                    <td align="left"><code class="code">integer count()</code></td>

                    <td align="left">
                        Returns the number of attributes in this schema information
                        node. Implements Countable.
                    </td>
                </tr>

            </tbody>
        
    </table>


    <div class="section" id="zend.ldap.api.reference.zend-ldap-node-schema.openldap"><div class="info"><h1 class="title">OpenLDAP</h1></div>
        

        <p class="para">
            Additionally the common methods above apply to instances of
            <code class="code">Zend_Ldap_Node_Schema_OpenLDAP</code>.
        </p>

        <table id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_Schema_OpenLDAP API</b></caption></div>
            

            
                <thead valign="middle">
                    <tr valign="middle">
                        <th>Method</th>
                        <th>Description</th>
                    </tr>

                </thead>


                <tbody valign="middle" class="tbody">
                    <tr valign="middle">
                        <td align="left"><code class="code">array getLdapSyntaxes()</code></td>
                        <td align="left">Gets the <acronym class="acronym">LDAP</acronym> syntaxes.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">array getMatchingRules()</code></td>
                        <td align="left">Gets the matching rules.</td>
                    </tr>


                    <tr valign="middle">
                        <td align="left"><code class="code">array getMatchingRuleUse()</code></td>
                        <td align="left">Gets the matching rule use.</td>
                    </tr>

                </tbody>
            
        </table>


        <table id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.attributetype-interface.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_Schema_AttributeType_OpenLDAP API</b></caption></div>
            

            
                <thead valign="middle">
                    <tr valign="middle">
                        <th>Method</th>
                        <th>Description</th>
                    </tr>

                </thead>


                <tbody valign="middle" class="tbody">
                    <tr valign="middle">
                        <td align="left">
                            <code class="code">Zend_Ldap_Node_Schema_AttributeType_OpenLdap|null
                                getParent()</code>
                        </td>

                        <td align="left">
                            Returns the parent attribute type in the inheritance tree if one exists.
                        </td>
                    </tr>

                </tbody>
            
        </table>


        <table id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.objectclass-interface.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_Schema_ObjectClass_OpenLDAP API</b></caption></div>
            

            
                <thead valign="middle">
                    <tr valign="middle">
                        <th>Method</th>
                        <th>Description</th>
                    </tr>

                </thead>


                <tbody valign="middle" class="tbody">
                    <tr valign="middle">
                        <td align="left"><code class="code">array getParents()</code></td>

                        <td align="left">
                            Returns the parent object classes in the inheritance
                            tree if one exists. The returned array is an array of
                            <code class="code">Zend_Ldap_Node_Schema_ObjectClass_OpenLdap</code>.
                        </td>
                    </tr>

                </tbody>
            
        </table>

    </div>

    <div class="section" id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory"><div class="info"><h1 class="title">ActiveDirectory</h1></div>
        

        <blockquote class="note"><p><b class="note">Note</b>: <span class="info"><b>Schema browsing on ActiveDirectory servers</b><br /></span>
            

            <p class="para">
                Due to restrictions on Microsoft ActiveDirectory servers regarding
                the number of entries returned by generic search routines and due to the
                structure of the ActiveDirectory schema repository, schema browsing is
                currently <em class="emphasis">not</em> available for Microsoft ActiveDirectory
                servers.
            </p>
        </p></blockquote>

        <p class="para">
            <code class="code">Zend_Ldap_Node_Schema_ActiveDirectory</code> does not provide any
            additional methods.
        </p>

        <table id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory.attributetype-interface.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory API</b></caption></div>
            

            
                <tbody valign="middle" class="tbody">
                    <tr valign="middle">
                        <td align="left">
                            <code class="code">Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory</code>
                            does not provide any additional methods.
                        </td>
                    </tr>

                </tbody>
            
        </table>


        <table id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory.objectclass-interface.table" class="doctable table"><div class="info"><caption><b>Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory API</b></caption></div>
            

            
                <tbody valign="middle" class="tbody">
                    <tr valign="middle">
                        <td align="left">
                            <code class="code">Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory</code>
                            does not provide any additional methods.
                        </td>
                    </tr>

                </tbody>
            
        </table>

    </div>
</div>
        <div class="section" id="zend.ldap.api.reference.zend-ldap-ldif-encoder"><div class="info"><h1 class="title">Zend_Ldif_Encoder</h1></div>
    

    <table id="zend.ldap.api.reference.zend-ldap-ldif-encoder.table" class="doctable table"><div class="info"><caption><b>Zend_Ldif_Encoder API</b></caption></div>
        

        
            <thead valign="middle">
                <tr valign="middle">
                    <th>Method</th>
                    <th>Description</th>
                </tr>

            </thead>


            <tbody valign="middle" class="tbody">
                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">array decode(string $string)</code></em>
                    </td>

                    <td align="left">
                        Decodes the string <var class="varname">$string</var> into an array of
                        <acronym class="acronym">LDIF</acronym> items.
                    </td>
                </tr>


                <tr valign="middle">
                    <td align="left">
                        <em class="emphasis"><code class="code">string encode(scalar|array|Zend_Ldap_Node
                        $value, array $options)</code> </em>
                    </td>

                    <td align="left">
                        Encode <var class="varname">$value</var> into a <acronym class="acronym">LDIF</acronym>
                        representation. <var class="varname">$options</var> is an array that may contain the
                        following keys:

                        <dl>

                            <dt>

                                <dt class="term"><code class="code">&#039;sort&#039;</code></dt>

                                <dd>

                                    <p class="para">
                                        Sort the given attributes with <code class="code">dn</code>
                                        following <code class="code">objectClass</code> and following all other
                                        attributes sorted alphabetically. <b><tt>TRUE</tt></b>
                                        by default.
                                    </p>
                                </dd>

                            </dt>


                            <dt>

                                <dt class="term"><code class="code">&#039;version&#039;</code></dt>

                                <dd>

                                    <p class="para">
                                        The <acronym class="acronym">LDIF</acronym> format version. <code class="code">1</code>
                                        by default.
                                    </p>
                                </dd>

                            </dt>


                            <dt>

                                <dt class="term"><code class="code">&#039;wrap&#039;</code></dt>

                                <dd>

                                    <p class="para">
                                        The line-length. <code class="code">78</code> by default to
                                        conform to the <acronym class="acronym">LDIF</acronym> specification.
                                    </p>
                                </dd>

                            </dt>

                        </dl>

                    </td>
                </tr>

            </tbody>
        
    </table>

</div>
    </div>
</div>
        <hr />

            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.ldap.introduction.html">Introduction</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.ldap.html">Zend_Ldap</a></span><br />
                        <span class="home"><a href="manual.html">Programmer's Reference Guide</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.ldap.usage.html">Usage Scenarios</a></div>
                    </td>
                </tr>
            </table>
</td>
        <td style="font-size: smaller;" width="15%"> <style type="text/css">
#leftbar {
	float: left;
	width: 186px;
	padding: 5px;
	font-size: smaller;
}
ul.toc {
	margin: 0px 5px 5px 5px;
	padding: 0px;
}
ul.toc li {
	font-size: 85%;
	margin: 1px 0 1px 1px;
	padding: 1px 0 1px 11px;
	list-style-type: none;
	background-repeat: no-repeat;
	background-position: center left;
}
ul.toc li.header {
	font-size: 115%;
	padding: 5px 0px 5px 11px;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 5px;
}
ul.toc li.active {
	font-weight: bold;
}
ul.toc li a {
	text-decoration: none;
}
ul.toc li a:hover {
	text-decoration: underline;
}
</style>
 <ul class="toc">
  <li class="header home"><a href="manual.html">Programmer's Reference Guide</a></li>
  <li class="header up"><a href="manual.html">Programmer's Reference Guide</a></li>
  <li class="header up"><a href="reference.html">Zend Framework Reference</a></li>
  <li class="header up"><a href="zend.ldap.html">Zend_Ldap</a></li>
  <li><a href="zend.ldap.introduction.html">Introduction</a></li>
  <li class="active"><a href="zend.ldap.api.html">API overview</a></li>
  <li><a href="zend.ldap.usage.html">Usage Scenarios</a></li>
  <li><a href="zend.ldap.tools.html">Tools</a></li>
  <li><a href="zend.ldap.node.html">Object oriented access to the LDAP tree using Zend_Ldap_Node</a></li>
  <li><a href="zend.ldap.server.html">Getting information from the LDAP server</a></li>
  <li><a href="zend.ldap.ldif.html">Serializing LDAP data to and from LDIF</a></li>
 </ul>
 </td>
    </tr>
</table>

<script type="text/javascript" src="../js/shCore.js"></script>
<script type="text/javascript" src="../js/shAutoloader.js"></script>
<script type="text/javascript" src="../js/main.js"></script>

</body>
</html>